package utils;

import java.util.LinkedList;
import java.util.Queue;
import java.util.regex.Pattern;
//编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址。
//
//如果是有效的 IPv4 地址，返回 "IPv4" ；
//如果是有效的 IPv6 地址，返回 "IPv6" ；
//如果不是上述类型的 IP 地址，返回 "Neither" 。
public class zhengzebiaodashi {
    String chunkIPv4 = "([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])";
    Pattern pattenIPv4 =
            Pattern.compile("^(" + chunkIPv4 + "\\.){3}" + chunkIPv4 + "$");


    String chunkIPv6 = "([0-9a-fA-F]{1,4})";
    Pattern pattenIPv6 =
            Pattern.compile("^(" + chunkIPv6 + "\\:){7}" + chunkIPv6 + "$");

    public String validIPAddress(String IP) {
        if (IP.contains(".")) {
            return (pattenIPv4.matcher(IP).matches()) ? "IPv4" : "Neither";
        } else if (IP.contains(":")) {
            return (pattenIPv6.matcher(IP).matches()) ? "IPv6" : "Neither";
        }
        return "Neither";

    }
}
